From: kaf24@firebug.cl.cam.ac.uk Date: Tue, 13 Sep 2005 10:21:22 +0000 (+0000) Subject: Newer binutils is a bit stricter and errors out when you try X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~16812^2~5 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=dfadead31c0fc03a1c42b2b909d03839170425c0;p=xen.git Newer binutils is a bit stricter and errors out when you try to use movl on a 16 bit word on x86_64. Using just a "mov" compiles fine and should result in the same code. {standard input}: Assembler messages: {standard input}:2138: Error: suffix or operands invalid for `mov' {standard input}:2140: Error: suffix or operands invalid for `mov' {standard input}:2142: Error: suffix or operands invalid for `mov' {standard input}:2144: Error: suffix or operands invalid for `mov' Signed-off-by: Rik van Riel --- diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c index f8c9de8a19..84b0c95187 100644 --- a/xen/arch/x86/domain.c +++ b/xen/arch/x86/domain.c @@ -674,10 +674,10 @@ static void save_segments(struct vcpu *v) if ( VMX_DOMAIN(v) ) rdmsrl(MSR_SHADOW_GS_BASE, v->arch.arch_vmx.msr_content.shadow_gs); - __asm__ __volatile__ ( "movl %%ds,%0" : "=m" (regs->ds) ); - __asm__ __volatile__ ( "movl %%es,%0" : "=m" (regs->es) ); - __asm__ __volatile__ ( "movl %%fs,%0" : "=m" (regs->fs) ); - __asm__ __volatile__ ( "movl %%gs,%0" : "=m" (regs->gs) ); + __asm__ __volatile__ ( "mov %%ds,%0" : "=m" (regs->ds) ); + __asm__ __volatile__ ( "mov %%es,%0" : "=m" (regs->es) ); + __asm__ __volatile__ ( "mov %%fs,%0" : "=m" (regs->fs) ); + __asm__ __volatile__ ( "mov %%gs,%0" : "=m" (regs->gs) ); if ( regs->ds ) dirty_segment_mask |= DIRTY_DS;